-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Element Call widget driver: allow state keys to have a _m.call
suffix
#30566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't seem to match anything written in MSC3401?
The MSC says the state key to be the user ID, no suffix.
Users who want to participate in the call declare this by publishing a m.call.member state event using their matrix ID as the state key (thus ensuring other users cannot edit it).
agreed that is a bit weird also for MSC4143 we are using the msc3401 prefix... This is needed to allow multiple MatrixRTC sessions in parallel, e.g., Element Call and a the Nordeck Neo Board See also: |
Changing the semantics of something defined by another MSC really isn't ideal. This means breaking support for one MSC whilst gaining support for another, whilst clobbering unstable IDs? I can't say this is great... Especially given state events are permanent. They can never be removed from a room, and they will clobber sync responses into the future, and be forever held in memory via the sync accumulator going from |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While it's definitely pretty counterintuitive that MSC4143 is using the unstable prefix of MSC3401 and I would rather we had migrated to the proper org.matrix.msc4143.*
namespace already, the fact is that both MSCs are championed and coordinated by the same team and so we can afford a bit of namespace encroachment. (MSC3401 should be closed soon, actually…) Hopefully we can update the MatrixRTC MSCs to reflect that they use this unstable prefix, since they are effectively just iterations of the previous group VoIP concept.
And the permanence of these entries in room state is unfortunately just part of the deal for now. It's always been planned that there could be a couple changes to the event types or state keys along the path to stability for these features, for example with the removal of the underscore prefix. I do hope we can get more momentum on state deletion or device-specific room state concepts eventually.
Overriding as per my above review - Florian tells me Michael expressed that a second opinion approving the PR would be okay.
…ix (element-hq#30566) * Extended string-packing for state keys allowing additonially the `_m.call` suffix * add comment about unstable prefix
Checklist
public
/exported
symbols have accurate TSDoc documentation.